import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import Element from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
//导入全局样式
import './assets/css/global.css';
import axios from 'axios';

Vue.config.productionTip = false;


//挂到vue的原型对象上
Vue.prototype.$http = axios;
//请求接口
axios.defaults.baseURL = 'https://lianghj.top:8888/api/private/v1/';


Vue.use(Element);


//路由导航守卫。控制访问权限，其他api不能访问
router.beforeEach((to, from, next) => {
  //如果用户访问的登录页，直接放行
  if (to.path === '/login') return next()
  //从 sessionStorage 中获取到保存的 token 的值
  const tokenStr = window.sessionStorage.getItem("token")
  //没有 token 值，就强制跳转到登录页
  if (!tokenStr) return next('/login')
  next()
})

//axios 请求拦截器添加token，保证拥有获取数据的权限
axios.interceptors.request.use(config => {
  //为请求头对象，添加token 验证的Authorization 字段
  config.headers.Authorization = window.sessionStorage.getItem('token');
  // console.log(config)
  return config;
})


new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
